package com.huike.business.service;

import com.huike.business.domain.TbBusiness;
import com.huike.clues.domain.vo.AssignmentVo;
import com.huike.common.core.page.TableDataInfo;

import java.util.List;

/**
 * @author STJ12138
 * @version 1.0
 * @description: TODO
 * @date 2023/7/12 15:03
 */
public interface BusinessService {
    /** 
     * @description: 新增商机 
     * @param: tbBusiness 
     * @return: java.lang.Long 
     * @author STJ12138
     * @date: 2023/7/12 15:41
     */
    Long add(TbBusiness tbBusiness);

    /** 
     * @description: 修改商机 
     * @param: tbBusiness 
     * @return: void 
     * @author STJ12138
     * @date: 2023/7/12 17:13
     */
    void update(TbBusiness tbBusiness);

    /** 
     * @description: 商机分配 
     * @param: assignmentVo 
     * @return: void 
     * @author STJ12138
     * @date: 2023/7/12 20:20
     */
    void assignment(AssignmentVo assignmentVo);

    /** 
     * @description: 查询商机列表 
     * @param: tbBusiness 
     * @return: com.huike.common.core.page.TableDataInfo<java.util.List<com.huike.business.domain.TbBusiness>> 
     * @author STJ12138
     * @date: 2023/7/12 21:42
     */
    TableDataInfo<List<TbBusiness>> list(TbBusiness tbBusiness);

    /**
     * @description: 获取商机详细信息
     * @param: id
     * @return: com.huike.business.domain.TbBusiness
     * @author STJ12138
     * @date: 2023/7/12 22:16
     */
    TbBusiness getById(Long id);

    /** 
     * @description: 删除商机 
     * @param: ids 
     * @return: void 
     * @author STJ12138
     * @date: 2023/7/12 22:32
     */
    void delete(List<Long> ids);

    /** 
     * @description: 踢回公海 
     * @param: id
reason 
     * @return: void 
     * @author STJ12138
     * @date: 2023/7/12 23:05
     */
    void back(Long id, String reason);

    /** 
     * @description: 查询公海池 
     * @param: tbBusiness 
     * @return: com.huike.common.core.page.TableDataInfo<java.util.List<com.huike.business.domain.TbBusiness>> 
     * @author STJ12138
     * @date: 2023/7/13 0:08
     */
    TableDataInfo<List<TbBusiness>> pool(TbBusiness tbBusiness);

}
